﻿using System.Collections.Generic;
using ShopB2C.Entity;

namespace ShopB2C.Interfaces {
    /// <summary>
    /// 品牌接口
    /// </summary>
    public interface IBrand {

        #region Brand

        /// <summary>
        /// 添加新的品牌
        /// </summary>
        /// <param name="be">BrandEntity</param>
        void BrandAppend(BrandEntity be);
        /// <summary>
        /// 修改品牌
        /// </summary>
        /// <param name="be">BrandEntity</param>
        void BrandUpdate(BrandEntity be);
        /// <summary>
        /// 删除品牌
        /// </summary>
        /// <param name="brandIds">品牌 id 字符串，“,”分隔</param>
        void BrandDelete(string brandIds);
        /// <summary>
        /// 获取指定 id 的品牌
        /// </summary>
        /// <param name="brandId">品牌 id</param>
        /// <returns>BrandEntity</returns>
        BrandEntity GetBrandById(int brandId);
        /// <summary>
        /// 获取品牌列表
        /// </summary>
        /// <param name="classifyId">品牌分类 id</param>
        /// <param name="pageSize">每页显示记录数</param>
        /// <param name="pageIndex">当前页号</param>
        /// <param name="pageSize">接收返回的总页数</param>
        /// <returns>List</returns>
        List<BrandEntity> GetBrandList(int classifyId, int pageSize, int pageIndex, out int pageCount);
        /// <summary>
        /// 获取品牌列表
        /// </summary>
        /// <param name="classifyId">品牌分类 id</param>
        /// <param name="isRecomm">是否只获取推荐的, 为空表示获取所有的</param>
        /// <returns>List</returns>
        List<BrandEntity> GetBrandList(int classifyId, bool? isRecomm);
        /// <summary>
        /// 批量更新品牌排序
        /// </summary>
        /// <param name="brandIds">品牌 id 集</param>
        /// <param name="sequences">排序集</param>
        void BrandBatchUpdateSequence(string brandIds, string sequences);
        /// <summary>
        /// 获取品牌列表
        /// </summary>
        /// <param name="brandIds">品牌 id 集</param>
        /// <returns>List</returns>
        List<BrandEntity> GetBrandList(string brandIds);

        #endregion

    }
}
